﻿using System.Collections.Generic;

namespace dPet.Application.Services
{
	using dPet.Application.DataObjects;
	using dPet.Infrastructure.Logging;

	public interface IAccountService
	{
		/// <summary>
		/// 添加Staff
		/// </summary>
		MessagedResult<bool> AddStaff(StaffDto staffDto, IOperator @operator);

		/// <summary>
		/// 更新Staff
		/// </summary>
		MessagedResult<bool> UpdateStaff(string staffId, StaffDto staffDto, IOperator @operator);

		/// <summary>
		/// 根据HospitalId获取Staff
		/// </summary>
		IEnumerable<StaffDto> GetStaffs(string hospitalId);

		/// <summary>
		/// 根据Id获取Staff
		/// </summary>
		StaffDto GetStaff(string id);

		/// <summary>
		/// 根据登录名和密码获取Staff
		/// </summary>
		StaffDto GetStaff(string loginName, string password);

		/// <summary>
		/// 重置Staff登录密码
		/// </summary>
		MessagedResult<bool> ResetStaffPassword(string staffId, string newPassword, IOperator @operator);

		/// <summary>
		/// 修改Staff登录密码
		/// </summary>
		MessagedResult<bool> ChangeStaffPassword(string staffId, string oldPassword, string newPassword, IOperator @operator);
	}
}
